Commercially available IBM (TM) Personal System/2 (.TM.) products constructed in accordance with Micro Channel (.TM.) architecture, are provided with a Programmable Option Select (POS) function which is used to define or provide settings for the assignment of system resources to the system board and to various adapters. The POS Function is generally described in "IBM Personal System/2 Hardware Interface Technical Reference", First Edition (May 1988), published by International Business Machines Corporation, to which reference may be had for a more detailed description thereof.
Adapters provide the means by which various data processing devices or options can be connected into and operated as part of a personal computer system. In accordance with the above mentioned architecture, an adapter has a group of programmable registers which, by convention, must store or contain predetermined information. Two registers store an adapter ID that uniquely identifies the specific adapter relative to other adapters. From one to four additional registers, known as the POS registers, store information known as the POS settings. Before an adapter can be used, an adapter description file (ADF) must be created by the supplier of the adapter. The ADF contains data necessary for the operation of the adapter and its related option or device, the data defining the resources the adapter can use, and the associated POS settings that indicate the resource assignment.
Each system includes a Reference Diskette containing System Configuration utilities or programs that identify the installed hardware and interpret the system resources (I/0 ports or address space, memory address space, interrupt levels, and arbitration levels) for each device. Normally, the files on the Reference Diskette are copied onto a backup copy which is then used to configure the system. As options are added to the system, the files needed for configuration are merged onto the backup copy. During configuration, certain files are needed, the files being an adapter description file (ADF) and any necessary Adapter Description Program (ADP). An ADP is needed for the invention, to perform the functions described below. An option diskette is supplied for each adapter and contains the necessary ADF and ADP. Such files are merged onto the backup copy before a new adapter is installed.
An ADF contains various fields of information including the following: adapter ID; adapter name; the number of POS registers to be included; an optional field indicating that an adapter option will be specified next; a prompt keyword; a choice keyword including the choice name, a POS setting which programs the adapter appropriately, and a resource setting which identifies the resources used for the particular choice; and a help keyword. The problem which the invention addresses, involves the use of the choice keywords, or simply the choices.
The problem exists because most adapters fit more than one model or system, and yet the various choices that could be specified for a particular option may not operate on all models, or on a particular model whose configuration includes certain other adapters or software levels. Consequently, the number of choices is normally limited to only those that will work with everything. The result is that by leaving out some choices which would otherwise work, the resultant configuration may be precluded from performing certain functions or the function may be performed with some performance degradation.
The foregoing describes in general terms the prior art being improved upon, and such prior art is also believed to be the most pertinent or relevant to the invention. However, certain patents are also known which describe inventions useful in configuring data processing systems.
U.S. Pat. No. 4,403,303--Howes et al, describes a terminal configuration management system in which information relevant to system components is stored in a non-volatile memory and is read into configuration registers upon power-up of the terminal.
U.S. Pat. No. 4,649,514--Berger describes a computer revision port used in a system in which a unique code is generated for the port each time a revision is made. A configuring program accesses such code to load and link the necessary routines.
U.S. Pat. No. 4,773,005--Sullivan describes a dynamic address assignment system having a configuration program that assigns unique addresses to peripheral units. Such addresses are based on type numbers stored in the peripheral units along with the settings of switches for distinguishing units of the same type.
None of the above patents describes a system providing a list of choices of system resources to be assigned and verifying any choice on the list to limit the choices to be made by a configuration program to only those choices considered valid for the particular system being configured.